package hauptklassen;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import javax.imageio.ImageIO;

import objekte.Mittelstreifen;

public class Strasse {
	private ArrayList<Mittelstreifen> ms = new ArrayList<Mittelstreifen>();//Die Mittelstreifen
	
	private BufferedImage Strasse;//Das Bild der Strasse
	
	private int xGraphicSize = 120;//Groese eines Strasenabschnitts
	private int yGraphicSize = 500;//Groese eines Strasenabschnitts
	/**
	 * initialisiert das Strassenobjekt
	 */
	public Strasse(){
		for (int i = 1; i<Main.m.Streifenzahl; i++){
			for (int j = 0; j<(Main.m.getHeight()/100); j++){
				ms.add(new Mittelstreifen(i*115, j*100));
			}
		}
		//Bild laden
		try {
			Strasse = ImageIO.read(new File("bilder/Strassenbelag.png")); //ubuntu
		} catch (IOException e) {
			try{
				Strasse =  ImageIO.read(new File("bilder\\Strassenbelag.png")); //Windows
			}catch (Exception ex){
				e.printStackTrace();
			}
		}
	}
	/**
	 * updatet die Strasse
	 */
	public void update() {
		for (int i = 0; i<ms.size(); i++){
			ms.get(i).update();
		}
	}
	/**
	 * Zeichnet die Strasse
	 * @param g Die Graphicvariable
	 */
	public void draw(Graphics g){
		for (int i = 0; i<Main.m.Streifenzahl; i++){
			g.drawImage(Strasse,i*120,0,xGraphicSize,yGraphicSize,null);
		}
		for (int i = 0; i<ms.size(); i++){
			ms.get(i).draw(g);
		}
	}
	
}
